function minimumTotal(triangle: number[][]): number {
    let n = triangle.length;
    let dp: number[] = new Array(n).fill(1001);
    dp[0]=triangle[0][0];
    for(let line of triangle){
        if(line.length!=1){
            let last = dp[0];
            for(let [index,i] of line.entries()){
                let temp = dp[index];
                dp[index] = i+Math.min(dp[index],last); 
                last = temp;
            }
        }
    }
    return Math.min(...dp);
};

// 执行用时：
// 76 ms
// , 在所有 TypeScript 提交中击败了
// 92.45%
// 的用户
// 内存消耗：
// 41.2 MB
// , 在所有 TypeScript 提交中击败了
// 15.09%
// 的用户